package persistencia.entidades;

import java.sql.Date;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;

/**
 * @author Maciel Melo
 * @since 09/11/2013
 * @see macielmelo.eti.br
 */
@SuppressWarnings("javadoc")
@Entity(name = "historico")
public class Historico {

	@Id
	@SequenceGenerator(sequenceName = "public.seq_historico", name = "seq_historico", allocationSize = 1)
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_historico")
	private Long id;

	private Date date;
	// ---------------Relacionamento------------------//
	@OneToOne
	private Paciente paciente;

	@OneToMany(mappedBy = "historico")
	private List<Consulta> consultas;

	@OneToMany(mappedBy = "historico")
	private List<Tratamento> tratamentos;

	// ----------------------------------------------//
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Date getDate() {
		return date;
	}

	public void setDate(Date date) {
		this.date = date;
	}

	public Paciente getPaciente() {
		return paciente;
	}

	public void setPaciente(Paciente paciente) {
		this.paciente = paciente;
	}

	public List<Consulta> getConsultas() {
		return consultas;
	}

	public void setConsultas(List<Consulta> consultas) {
		this.consultas = consultas;
	}

	public List<Tratamento> getTratamentos() {
		return tratamentos;
	}

	public void setTratamentos(List<Tratamento> tratamentos) {
		this.tratamentos = tratamentos;
	}
}
